package com.sann;

import com.sann.config.SpringConfig;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

/**
 * 1、@Profile注解是Spring为我们提供的可以根据当前环境，动态的激活环境和根据环境切换一系列组件的功能。
 *
 * 2、username：通过@Value("${jdbc.username}")这种SpringEL表达式注入
 * pwd：通过创建DataSource这个Bean时入参注入，@Value("${jdbc.password}")String pwd
 * DriverClass：通过Spring提供的一个让我们自定义Bean注入Spring容器自身组件的方式来注入
 */
public class Client {
    public static void main(String[] args) {
        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();
        // 设置激活环境
        context.getEnvironment().setActiveProfiles("prod");

        // 注册配置文件
        context.register(SpringConfig.class);

        context.refresh();

        String[] beans = context.getBeanDefinitionNames();
        for (String bean : beans) {
            System.out.println(bean);
        }
    }
}
